package com.gite.nouette.admin.implementation.integrator.director;

import com.gite.nouette.admin.contract.integrator.builder.IBuilderManager;
import com.gite.nouette.admin.contract.integrator.director.IDirectorManager;
import com.gite.nouette.admin.contract.model.IManager;

public class DirectorManagerImpl implements IDirectorManager {
	private IBuilderManager builder;

	@Override
	public IBuilderManager getBuilder() {
		return this.builder;
	}

	@Override
	public void setBuilder(IBuilderManager builder) {
		this.builder = builder;
	}

	@Override
	public IManager getProduct() {
		return getBuilder().getProduct();
	}

	@Override
	public void constructProduct() {
		getBuilder().createNewProduct();
		getBuilder().buildId();
		getBuilder().buildName();
		getBuilder().buildContainerModule();
		getBuilder().buildHandlerModule();
		getBuilder().buildColumns();
		getBuilder().buildModules();
		getBuilder().buildCommands();
	}
}
